package com.zuipin.vo;

import java.math.BigDecimal;
import java.util.List;

import com.zuipin.entity.RuleSetUseLog;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel(description = "付款单vo")
public class PayOrderVo {
	
	private Long				createMemberId;					// 下单
	
	private String				device;
	
	private Long				sysId;							// 来源系统
	
	private BigDecimal			orderSum;						// 付款总额+运费（实际支付）
	
	private BigDecimal			freightSum;						// 运费
	
	private Long				useRedPacketId;					// 使用的红包
	
	private BigDecimal			useRedPacketSum;				// 使用的红包金额
	
	private Integer				useJfSum;						// 使用的积分
	
	private Integer				giveJfSum;						// 赠送的积分
	
	private BigDecimal			discountJfMoney;				// 使用的jf抵扣的金额
	
	private BigDecimal			useStoreValue;					// 使用充值余额
	
	private BigDecimal			useRebateSum;					// 使用的返佣
	
	private String				payType;
	private BigDecimal			productPaySum;					// 商品总价（原价*数量和）
	
	private String				redPacketName;					// 红包名称
	private Integer				productJfSum;					// 积分商品 积分价累加
	// private BigDecimal discountBackMoney; // 返现抵扣的金额
	
	private BigDecimal			useCashBackSum;					// 使用的返现
	
	private BigDecimal			giveCashBackSum;				// 赠送的返现
	
	private BigDecimal			totalWeight;					// 订单重量
	
	private Short				isBrushOrder;					// 是否刷单
	
	private String				orderRemark;					// 订单备注
	
	private String				expressDeliveryName;			// 配送方式名称
	private String				expressDeliveryCode;
	private List<OrderDetailVo>	orderDetails;
	private List<RuleSetUseLog>	ruleSetUseLogs;					// 规则使用记录
	
	// 收货地址部分----开始
	
	private String				receiptName;					// 收货名
	
	private Long				memberId;						// 收货人ID
	
	private String				phone;							// 手机号码
	
	private String				telephone;						// 电话号码
	
	private String				streetAddress;					// 街道地址
	
	private String				address;						// 详细地址
	
	private String				cityCode;						// 市编码
	
	private String				countyCode;						// 区编码
	
	private String				provinceCode;					// 省编码
	
	// 收货地址部分----结束
	
	// 发票信息---开始
	
	private String				invoiceContent;					// 发票内容
	
	private String				invoiceType;					// 发票类型
	
	private String				invoiceTitle;					// 发票抬头(个人和公司)
	
	private String				email;							// 收票人邮箱 发票类型选择“电子发票”时才有该字段和输入框出现
	
	private String				companyName;					// 公司名称 发票类型选择“增值税发票”时才出现
	
	private String				taxpayersNo;					// 纳税人识别号 “普通发票”“电子发票”在公司抬头为公司的时候才会出现，发票类型“增值税发票”始终出现
	
	private String				registerAddress;				// 注册地址 发票类型选择“增值税发票”时才出现
	
	private String				registerMobilePhone;			// 注册电话 发票类型选择“增值税发票”时才出现
	
	private String				openBank;						// 开户银行 发票类型选择“增值税发票”时才出现
	
	private String				openAccount;					// 开户账号 发票类型选择“增值税发票”时才出现
	
	private Long				createId;						// 操作人
	
	private Short				isFromBack;						// 是否后台创建
	
	// 发票信息---结束
	
	private Long				cartRuleId;						// 购物车规则Id
	
	private String				customerRemark;					// 客服备注
	
	private Integer				growthValue;					// 成长值
	
	private BigDecimal			useRuleDiscountSum;				// 使用的购物车优惠总金额
	
	/**
	 * 是否来自后台创建 1是 0否
	 */
	public static final short	IS_FROM_BACK_YES_1	= (short) 1;
	public static final short	IS_FROM_BACK_NO_0	= (short) 0;
	
	@ApiModelProperty(value = "PC端或者WAP", required = true)
	public String getDevice() {
		return device;
	}
	
	public void setDevice(String device) {
		this.device = device;
	}
	
	@ApiModelProperty(value = "创建者", required = true)
	public Long getCreateMemberId() {
		return createMemberId;
	}
	
	public void setCreateMemberId(Long createMemberId) {
		this.createMemberId = createMemberId;
	}
	
	@ApiModelProperty(value = "来源系统Id", required = true)
	public Long getSysId() {
		return sysId;
	}
	
	public void setSysId(Long sysId) {
		this.sysId = sysId;
	}
	
	@ApiModelProperty(value = "付款总额+运费（实际支付）", required = true)
	public BigDecimal getOrderSum() {
		return orderSum;
	}
	
	public void setOrderSum(BigDecimal orderSum) {
		this.orderSum = orderSum;
	}
	
	@ApiModelProperty(value = "运费", required = true)
	public BigDecimal getFreightSum() {
		return freightSum;
	}
	
	public void setFreightSum(BigDecimal freightSum) {
		this.freightSum = freightSum;
	}
	
	@ApiModelProperty(value = "ONLINE|CASH_DELIVERY", required = true)
	public String getPayType() {
		return payType;
	}
	
	public void setPayType(String payType) {
		this.payType = payType;
	}
	
	@ApiModelProperty(value = "使用的红包Id）", required = false)
	public Long getUseRedPacketId() {
		return useRedPacketId;
	}
	
	public void setUseRedPacketId(Long useRedPacketId) {
		this.useRedPacketId = useRedPacketId;
	}
	
	@ApiModelProperty(value = "使用的红包金额", required = false)
	public BigDecimal getUseRedPacketSum() {
		return useRedPacketSum;
	}
	
	public void setUseRedPacketSum(BigDecimal useRedPacketSum) {
		this.useRedPacketSum = useRedPacketSum;
	}
	
	@ApiModelProperty(value = "使用的积分", required = false)
	public Integer getUseJfSum() {
		return useJfSum;
	}
	
	public void setUseJfSum(Integer useJfSum) {
		this.useJfSum = useJfSum;
	}
	
	@ApiModelProperty(value = "积分抵扣的金额", required = false)
	public BigDecimal getDiscountJfMoney() {
		return discountJfMoney;
	}
	
	public void setDiscountJfMoney(BigDecimal discountJfMoney) {
		this.discountJfMoney = discountJfMoney;
	}
	
	@ApiModelProperty(value = "使用的充值", required = false)
	public BigDecimal getUseStoreValue() {
		return useStoreValue;
	}
	
	public void setUseStoreValue(BigDecimal useStoreValue) {
		this.useStoreValue = useStoreValue;
	}
	
	@ApiModelProperty(value = "使用的返佣", required = false)
	public BigDecimal getUseRebateSum() {
		return useRebateSum;
	}
	
	public void setUseRebateSum(BigDecimal useRebateSum) {
		this.useRebateSum = useRebateSum;
	}
	
	/*	@ApiModelProperty(value = "返现抵扣的金额", required = false)
		public BigDecimal getDiscountBackMoney() {
			return discountBackMoney;
		}
		
		public void setDiscountBackMoney(BigDecimal discountBackMoney) {
			this.discountBackMoney = discountBackMoney;
		}*/
	
	@ApiModelProperty(value = "使用的返现", required = false)
	public BigDecimal getUseCashBackSum() {
		return useCashBackSum;
	}
	
	public void setUseCashBackSum(BigDecimal useCashBackSum) {
		this.useCashBackSum = useCashBackSum;
	}
	
	@ApiModelProperty(value = "订单总重", required = true)
	public BigDecimal getTotalWeight() {
		return totalWeight;
	}
	
	public void setTotalWeight(BigDecimal totalWeight) {
		this.totalWeight = totalWeight;
	}
	
	@ApiModelProperty(value = "是否刷单 1是 0不是", required = true)
	public Short getIsBrushOrder() {
		return isBrushOrder;
	}
	
	public void setIsBrushOrder(Short isBrushOrder) {
		this.isBrushOrder = isBrushOrder;
	}
	
	@ApiModelProperty(value = "订单备注", required = true)
	public List<OrderDetailVo> getOrderDetails() {
		return orderDetails;
	}
	
	@ApiModelProperty(value = "配送方式", required = true)
	public String getExpressDeliveryName() {
		return expressDeliveryName;
	}
	
	public void setExpressDeliveryName(String expressDeliveryName) {
		this.expressDeliveryName = expressDeliveryName;
	}
	
	public void setOrderDetails(List<OrderDetailVo> orderDetails) {
		this.orderDetails = orderDetails;
	}
	
	@ApiModelProperty(value = "订单备注", required = false)
	public String getOrderRemark() {
		return orderRemark;
	}
	
	public void setOrderRemark(String orderRemark) {
		this.orderRemark = orderRemark;
	}
	
	@ApiModelProperty(value = "收货人名", required = true)
	public String getReceiptName() {
		return receiptName;
	}
	
	public void setReceiptName(String receiptName) {
		this.receiptName = receiptName;
	}
	
	@ApiModelProperty(value = "收货人ID", required = false)
	public Long getMemberId() {
		return memberId;
	}
	
	public void setMemberId(Long memberId) {
		this.memberId = memberId;
	}
	
	@ApiModelProperty(value = "手机号", required = true)
	public String getPhone() {
		return phone;
	}
	
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@ApiModelProperty(value = "街道地址", required = true)
	public String getStreetAddress() {
		return streetAddress;
	}
	
	public void setStreetAddress(String streetAddress) {
		this.streetAddress = streetAddress;
	}
	
	@ApiModelProperty(value = "详细地址", required = true)
	public String getAddress() {
		return address;
	}
	
	public void setAddress(String address) {
		this.address = address;
	}
	
	@ApiModelProperty(value = "城市编码", required = true)
	public String getCityCode() {
		return cityCode;
	}
	
	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}
	
	@ApiModelProperty(value = "区编码", required = true)
	public String getCountyCode() {
		return countyCode;
	}
	
	public void setCountyCode(String countyCode) {
		this.countyCode = countyCode;
	}
	
	@ApiModelProperty(value = "省编码", required = true)
	public String getProvinceCode() {
		return provinceCode;
	}
	
	public void setProvinceCode(String provinceCode) {
		this.provinceCode = provinceCode;
	}
	
	@ApiModelProperty(value = "发票内容", required = true)
	public String getInvoiceContent() {
		return invoiceContent;
	}
	
	public void setInvoiceContent(String invoiceContent) {
		this.invoiceContent = invoiceContent;
	}
	
	@ApiModelProperty(value = "发票类型 NOT_INVOICE 无发票 ELECTRONIC_INVOICE 电子发票  ORDINARY_INVOICE 普通发票 VTA_INVOICE 增值税发票", required = true)
	public String getInvoiceType() {
		return invoiceType;
	}
	
	public void setInvoiceType(String invoiceType) {
		this.invoiceType = invoiceType;
	}
	
	@ApiModelProperty(value = "发票抬头 PERSONAL 个人 COMPANY 公司 ", required = true)
	public String getInvoiceTitle() {
		return invoiceTitle;
	}
	
	public void setInvoiceTitle(String invoiceTitle) {
		this.invoiceTitle = invoiceTitle;
	}
	
	@ApiModelProperty(value = "赠送的积分", required = true)
	public Integer getGiveJfSum() {
		return giveJfSum;
	}
	
	public void setGiveJfSum(Integer giveJfSum) {
		this.giveJfSum = giveJfSum;
	}
	
	@ApiModelProperty(value = "赠送的返现", required = true)
	public BigDecimal getGiveCashBackSum() {
		return giveCashBackSum;
	}
	
	public void setGiveCashBackSum(BigDecimal giveCashBackSum) {
		this.giveCashBackSum = giveCashBackSum;
	}
	
	@ApiModelProperty(value = "配送方式的code", required = true)
	public String getExpressDeliveryCode() {
		return expressDeliveryCode;
	}
	
	public void setExpressDeliveryCode(String expressDeliveryCode) {
		this.expressDeliveryCode = expressDeliveryCode;
	}
	
	@ApiModelProperty(value = "购物车规则Id", required = true)
	public Long getCartRuleId() {
		return cartRuleId;
	}
	
	public void setCartRuleId(Long cartRuleId) {
		this.cartRuleId = cartRuleId;
	}
	
	public BigDecimal getProductPaySum() {
		return productPaySum;
	}
	
	public void setProductPaySum(BigDecimal productPaySum) {
		this.productPaySum = productPaySum;
	}
	
	public String getRedPacketName() {
		return redPacketName;
	}
	
	public void setRedPacketName(String redPacketName) {
		this.redPacketName = redPacketName;
	}
	
	/**
	 * @return the telephone
	 */
	public String getTelephone() {
		return telephone;
	}
	
	/**
	 * @param telephone the telephone to set
	 */
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	
	@ApiModelProperty(value = "收票人邮箱")
	public String getEmail() {
		return email;
	}
	
	public void setEmail(String email) {
		this.email = email;
	}
	
	@ApiModelProperty(value = "公司名称")
	public String getCompanyName() {
		return companyName;
	}
	
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	
	@ApiModelProperty(value = "纳税人识别号")
	public String getTaxpayersNo() {
		return taxpayersNo;
	}
	
	public void setTaxpayersNo(String taxpayersNo) {
		this.taxpayersNo = taxpayersNo;
	}
	
	@ApiModelProperty(value = "注册地址")
	public String getRegisterAddress() {
		return registerAddress;
	}
	
	public void setRegisterAddress(String registerAddress) {
		this.registerAddress = registerAddress;
	}
	
	@ApiModelProperty(value = "注册电话")
	public String getRegisterMobilePhone() {
		return registerMobilePhone;
	}
	
	public void setRegisterMobilePhone(String registerMobilePhone) {
		this.registerMobilePhone = registerMobilePhone;
	}
	
	@ApiModelProperty(value = "开户银行")
	public String getOpenBank() {
		return openBank;
	}
	
	public void setOpenBank(String openBank) {
		this.openBank = openBank;
	}
	
	@ApiModelProperty(value = "开户账号")
	public String getOpenAccount() {
		return openAccount;
	}
	
	public void setOpenAccount(String openAccount) {
		this.openAccount = openAccount;
	}
	
	@ApiModelProperty(value = "创建人ID")
	public Long getCreateId() {
		return createId;
	}
	
	public void setCreateId(Long createId) {
		this.createId = createId;
	}
	
	@ApiModelProperty(value = "是否来自后台创建:1是0否")
	public Short getIsFromBack() {
		return isFromBack;
	}
	
	public void setIsFromBack(Short isFromBack) {
		this.isFromBack = isFromBack;
	}
	
	@ApiModelProperty(value = "客服备注")
	public String getCustomerRemark() {
		return customerRemark;
	}
	
	public void setCustomerRemark(String customerRemark) {
		this.customerRemark = customerRemark;
	}
	
	@ApiModelProperty(value = "成长值")
	public Integer getGrowthValue() {
		return growthValue;
	}
	
	public void setGrowthValue(Integer growthValue) {
		this.growthValue = growthValue;
	}
	
	@ApiModelProperty(value = "购物车规则抵扣红包")
	public BigDecimal getUseRuleDiscountSum() {
		return useRuleDiscountSum;
	}
	
	public void setUseRuleDiscountSum(BigDecimal useRuleDiscountSum) {
		this.useRuleDiscountSum = useRuleDiscountSum;
	}
	
	@ApiModelProperty(value = "购车规则使用记录集合")
	public List<RuleSetUseLog> getRuleSetUseLogs() {
		return ruleSetUseLogs;
	}
	
	public void setRuleSetUseLogs(List<RuleSetUseLog> ruleSetUseLogs) {
		this.ruleSetUseLogs = ruleSetUseLogs;
	}
	
	@ApiModelProperty(value = "积分商品  积分价累加")
	public Integer getProductJfSum() {
		return productJfSum;
	}
	
	public void setProductJfSum(Integer productJfSum) {
		this.productJfSum = productJfSum;
	}
}
